Improving Memory Management Security for C and C++

نویسندگان

  • Yves Younan
  • Wouter Joosen
  • Frank Piessens
  • Hans Van den Eynden
چکیده

Memory managers are an important part of any modern language: they are used to dynamically allocate memory for use in the program. Many managers exist and depending on the operating system and language. However, two major types of managers can be identified: manual memory allocators and garbage collectors. In the case of manual memory allocators, the programmer must manually release memory back to the system when it is no longer needed. Problems can occur when a programmer forgets to release it (memory leaks), releases it twice or keeps using freed memory. These problems are solved in garbage collectors. However, both manual memory allocators and garbage collectors store management information for the memory they manage. Often, this management information is stored where a buffer overflow could allow an attacker to overwrite this information, providing a reliable way to achieve code execution when exploiting these vulnerabilities. In this paper we describe several vulnerabilities for C and C++ and how these could be exploited by modifying the management information of a representative manual memory allocator and a garbage collector. Afterwards, we present an approach that, when applied to memory managers, will protect against these attack vectors. We implemented our approach by modifying an existing widely used memory allocator. Benchmarks show that this implementation has a negligible, sometimes even beneficial, impact on performance.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Comparison of Effectiveness of Nutrition and C-CRT on Improving Working Memory in Children With ADHD

Background Improving memory is an indicator of treatment in children with Attention Deficit Hyperactivity Disorder (ADHD).  Objective The present study aimed to compare the effectiveness of Computerized Cognitive Rehabilitation Training (CCRT) , nutrition supplementation intervention, and both combined on the improvement of Working Memory (WM) in children with ADHD.  Methods This was an exper...

متن کامل

Protective role of vitamin C on spatial memory and oxidative stress alteration during paraquat-induced toxicity in male rats

Paraquat (PQ), is one of the most widely used herbicides all over the world. PQ could induce dopaminergic cell death. Since dopamine involves in memory processing, we investigated the recovery effect of vitamin C on spatial memory along with oxidative stress parameters during PQ induced neurotoxicity in male rats. Rats were divided into five groups (n= 7): control (saline 0.9%), PQ (2.67 and 5 ...

متن کامل

Farmers’ Perception and Management of Natural Hazards in Production and Security of Farm Investment in Isuikwuato, Abia State, Nigeria

This study on farmers’ perception and management of natural hazards in production and security of farm investment was carried out in Isuikwuato Local Government Area of Abia State, Nigeria. The study was sought to identify farmers’ perceived natural hazards in food production; identify adopted measures used in mitigating impacts of the hazards and determined factors that influenced farmers from...

متن کامل

The antioxidant activity of Beta vulgaris leaf extract in improving scopolamine-induced spatial memory disorders in rats

Objective: Medicinal plants have attracted global attention due to their safety as well as their considerable antioxidant content that helps to prevent or ameliorate various disorders including memory impairments. This study was conducted to investigate the effect of beet root (Beta vulgaris) leaf extract on scopolamine-induced spatial memory impairments in male Wistar rats. Materials and Metho...

متن کامل

Sulong: Memory Safe and Efficient Execution of LLVM-Based Languages

Memory errors in C/C++ can allow an attacker to read sensitive data, corrupt the memory, or crash the executing process. The renowned top 25 of most dangerous software errors as published by the SANS Institute, as well as recent security disasters such as Heartbleed show how important it is to tackle memory safety for C/C++. We present Sulong, an efficient interpreter for LLVM-based languages t...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • IJSSE

دوره 1  شماره 

صفحات  -

تاریخ انتشار 2010